package model

import "gitee.com/wz-open-platform/wzopen-sdk-go/constants"

type DeviceStateRestart struct {
	DeviceNums *[]string              `json:"device_nums"` // 设备编号列表
	Type       *constants.RestartType `json:"type"`        // 重启类型
}

type DeviceStateOffline struct {
	DeviceNums *[]string `json:"device_nums"` // 设备编号列表
}

type DeviceStateOfflineProfit struct {
	DeviceNums *[]string `json:"device_nums"` // 设备编号列表
	Coin       *string   `json:"coin"`        // 投币金额（分）
	Card       *string   `json:"card"`        // 刷卡金额（分）
}

type DeviceStatePortError struct {
	DeviceNums *[]string              `json:"device_nums"` // 设备编号列表
	DevicePort *int                   `json:"device_port"` // 端口号
	IsError    *constants.IsErrorType `json:"is_error"`    // 是否故障
}

type DeviceStateReq struct {
	DeviceNum  string   `json:"device_num"`  // 设备编号
	PortFields []string `json:"port_fields"` // 端口状态字段. state:端口状态;charge_mode:充电模式;pay_amount:支付金额;pay_used:已用金额;time_total:总时长;time_used:已用时长;charge_id:充电ID;eq_used:已用电量;rated_power:计费功率;current_power:当前功率;charge_err_msg:充电错误信息;start_time:开始充电时间
}

type DeviceStateResp struct {
	Code      int             `json:"code"`      // 状态码，1 表示成功，-1表示失败
	Message   string          `json:"message"`   // 消息描述
	Data      DeviceStateData `json:"data"`      // 数据，可以为 null
	Timestamp int64           `json:"timestamp"` // 时间戳
}

type DeviceStateData struct {
	IsOnline       bool              `json:"isOnline"`       // 是否在线
	Csq            int               `json:"csq"`            // 信号强度
	ConnectionType int               `json:"connectionType"` // 连接类型
	State          map[string]int    `json:"state"`          // 端口状态
	ChargeMode     map[string]int    `json:"chargeMode"`     // 充电模式
	PayAmount      map[string]int    `json:"payAmount"`      // 支付金额
	PayUsed        map[string]int    `json:"payUsed"`        // 已用金额
	TimeTotal      map[string]int    `json:"timeTotal"`      // 充电总时长
	TimeUsed       map[string]int    `json:"timeUsed"`       // 充电已用时长
	ChargeId       map[string]int    `json:"chargeId"`       // 充电 id
	EqUsed         map[string]int    `json:"eqUsed"`         // 已用电量
	CurrentPower   map[string]int    `json:"currentPower"`   // 当前功率
	StartTime      map[string]string `json:"startTime"`      // 开始充电时间
	RevTime        int64             `json:"revTime"`        // 更新时间
}
